<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Site extends CI_Controller {

    function __construct() {
        parent::__construct();
    }

    public function index() {

        $this->load->model('vehiculos_model');
        $hdata['modelos'] = $this->vehiculos_model->getVehiculos();
        $hdata['marcas'] = $this->vehiculos_model->getMarcas();
        $hdata['categorias'] = $this->vehiculos_model->getCategorias();
        $hdata['combustibles'] = $this->vehiculos_model->getCombustibles();

        $data = $this->all_cars_pagination();
        $data['nuevos_vehiculos'] = $this->vehiculos_model->getNuevosVehiculos();
//var_dump($data['nuevas_modelos']);


        $this->load->view('header', $hdata);
        $this->load->view('index_view', $data);
        $this->load->view('footer');
    }

    function pagination_setup() {
        /* Customizing the "Next" Link */
        $config['next_link'] = '&raquo;';
        $config['next_tag_open'] = '<li class="arrow"><a href="">';
        $config['next_tag_close'] = '</a></li>';
        /* Customizing the "Next" Link */

        /* Customizing the "Previous" Link */
        $config['prev_link'] = '&laquo;';
        $config['prev_tag_open'] = '<li class="arrow"><a href="">';
        $config['prev_tag_close'] = '</a></li>';
        /* Customizing the "Previous" Link */

        /* Customizing the "Current Page" Link */
        $config['cur_tag_open'] = '<li class="current"><a href="">';
        $config['cur_tag_close'] = '</a></li>';
        /* Customizing the "Current Page" Link */

        /* Customizing the "Digit" Link */
        $config['num_tag_open'] = '<li><a href="">';
        $config['num_tag_close'] = '</a></li>';
        /* Customizing the "Digit" Link */

        return $config;
    }

    function all_cars_pagination() {
        $this->load->library('pagination');
        $config["base_url"] = base_url() . "vehiculos/pagina/";
        $config += $this->pagination_setup();
        $this->load->model('vehiculos_model');
        $data['carrocerias'] = $this->vehiculos_model->getVehiculos();

        $config["total_rows"] = $this->vehiculos_model->countRecords();
        $config["per_page"] = 12;
        $config['use_page_numbers'] = FALSE;
        $choice = $config["total_rows"] / $config["per_page"];
        $config["num_links"] = round($choice);
        $this->pagination->initialize($config);
        $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $data["results"] = $this->vehiculos_model->getAllVehiculos($config["per_page"], $page);
        $data["links"] = $this->pagination->create_links();

        return $data;
    }

    public function vehiculo() {
        if ($this->uri->segment(2)) {
            $this->id = $this->uri->segment(2);
            $this->load->model('vehiculos_model');
            $hdata['modelos'] = $this->vehiculos_model->getVehiculos();
            $hdata['marcas'] = $this->vehiculos_model->getMarcas();
            $hdata['categorias'] = $this->vehiculos_model->getCategorias();
            $hdata['combustibles'] = $this->vehiculos_model->getCombustibles();
            $data['modelo'] = $this->vehiculos_model->getVehiculosById($this->id);

            /* COMPARE */
            $hdata['js_include'] = "<script type='text/javascript' src='" . base_url() . "js/compare.js' ></script >";
            $this->categoria = $data['modelo'][0]->categoria;
            $data['compare'] = $this->vehiculos_model->getModelosByCategoria($this->categoria);
            /* COMPARE */
            $data['extras'] = $this->vehiculos_model->getExtrasById($this->id);
            $hdata['facebook'] = $data['modelo'];
            $this->load->view('header_vehiculo', $hdata);
            $this->load->view('vehiculos_view', $data);
            $this->load->view('footer');
        } else {
            redirect('site');
        }
    }

    public function moto() {
        if ($this->uri->segment(2)) {
            $this->id = $this->uri->segment(2);
            $this->load->model('vehiculos_model');
            $hdata['modelos'] = $this->vehiculos_model->getVehiculos();
            $hdata['marcas'] = $this->vehiculos_model->getMarcas();
            $hdata['categorias'] = $this->vehiculos_model->getCategorias();
            $hdata['combustibles'] = $this->vehiculos_model->getCombustibles();
            $data['modelo'] = $modelos = $this->vehiculos_model->getMotosById($this->id);
            /* COMPARE */
            $hdata['js_include'] = "<script type='text/javascript' src='" . base_url() . "js/compare.js' ></script >";
            $this->categoria = $data['modelo'][0]->categoria;
            $data['compare'] = $this->vehiculos_model->getModelosByCategoria($this->categoria);
            /* COMPARE */
            $data['extras'] = $this->vehiculos_model->getExtrasById($this->id);
            $this->load->view('header', $hdata);
            $this->load->view('motos_view', $data);
            $this->load->view('footer');
        } else {
            redirect('site');
        }
    }

    function ajax_call() {
        if ($_POST) {

            $this->load->model('vehiculos_model');
            $marca = $this->input->post('marca');
            $categoria = $this->input->post('categoria');
            $combustible = $this->input->post('combustible');
            $modelos = $this->vehiculos_model->getVehiculosWhere($marca, $categoria, $combustible);
//var_dump($modelos);
//exit;
            if (empty($modelos)) {
                $output_string = '<div class="border">';
                $output_string .= '<h5 class="title large-6 columns">Resultados de búsqueda</h5>';
                $output_string .= '<a href="javascript:void(0);" id="close-search-box" class="close title large-6 columns text-right">&times;</a>';
                $output_string .= '<div class="carousel">';
                $output_string .= '<div class = "large-12 columns">';
                $output_string .= '0 resultados con este criterio';
                $output_string .= '</div >';

                $output_string .= '</div>';
                $output_string .= '</div>';

                echo json_encode($output_string);
            } else {
                //$output_string = '<div class="border">';
                //$output_string .= '<h5 class="title large-6 columns">Resultados de búsqueda</h5>';
                //$output_string .= '<a href="javascript:void(0);" id="close-search-box" class="close title large-6 columns text-right">&times;</a>';
                $output_string = '<div class="carousel">';
                $output_string .= '<button class="prev small"><</button>';
                $output_string .= '<button class="next small">></button>';
                $output_string .= '<div class="anyClass">';
                $output_string .= '<ul>';
                foreach ($modelos as $modelo) {
                    $url = ($modelo->categoria == 'Motos y Cuadras') ? 'moto' : 'vehiculo';
                    $output_string .= '<li>';
                    $output_string .= '<a class = "th" href = "' . base_url() . $url . '/' . $modelo->id . '">';
                    $output_string .= '<img src = "' . base_url() . 'assets/uploads/files/' . $modelo->foto1 . '">';
                    $output_string .= '<div class = "panel">';
                    $output_string .= '<h5>' . $modelo->marca . ' ' . $modelo->modelo . '</h5>';
                    $output_string .= '<h6 class="year"><span>A&ntilde;o:</span> ' . $modelo->anno . '</h6>';
                    $output_string .= '<h6 class="price"><span>Precio:</span> ' . $modelo->precio . '</h6>';
                    $output_string .= '</div>';
                    $output_string .= '</a>';
                    $output_string .= '</li>';
                }
                $output_string .= '</ul>';
                $output_string .= '</div>';
                $output_string .= '</div>';
                //$output_string .= '</div>';

                echo json_encode($output_string);
            }
        }
    }

    function ajax_citas_call() {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('nombre', 'Nombre', 'required');
        $this->form_validation->set_rules('telefono', 'Telefono', 'required|numeric|min_length[8]|max_length[8]');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');

        $this->form_validation->set_message('required', '%s ' . 'requerido');
        if ($this->form_validation->run() !== false) {
            $this->load->library('email');

            $this->email->from('support@datesandmodels.com', 'Support');
            $this->email->to('citas@datesandmodels.com');
            //$this->email->cc('another@another-example.com');
            //$this->email->bcc('them@their-example.com');

            $this->email->subject('Citas: Deseo tener una cita con ' . $this->input->post('modelo'));
            $this->email->message('Mi nombre es: ' . $this->input->post('nombre') . ', mi correo es: ' . $this->input->post('email') . ' y deseo tener una cita para ver el vehiculo: ' . $this->input->post('url') . ' el dia: ' . $this->input->post('fecha'));

            $this->email->send();

            //echo $this->email->print_debugger();
            $output_string = '<h6>Gracias!</h6>';
            $output_string .= '<p>Su formulario se ha enviado exitosamente!</p>';
            $output_string .= '<p>Pronto una de nuestras representantes lo estara contactando!</p>';
            $output_string .= '<p>Ya puede cerrar esta ventana!</p>';
            echo json_encode($output_string);
        } else {
            $output_string = '<h6>Han ocurrido los siguientes errores:</h6>';
            if ($this->input->post('nombre') == '') {
                $output_string .= '<p class="alert label large-12">Su nombre es requerido!</p>';
            }
            if ($this->input->post('telefono') == '') {
                $output_string .= '<p class="alert label large-12">Su telefono es requerido!</p>';
            } elseif ($this->form_validation->is_natural($this->input->post('telefono')) == FALSE) {
                $output_string .= '<p class="alert label large-12">Su telefono es invalido, solo se aceptan caracteres numericos!</p>';
            } elseif ($this->form_validation->min_length($this->input->post('telefono'), 8) == FALSE) {
                $output_string .= '<p class="alert label large-12">Su telefono debe terner al menos 8 digitos numericos!</p>';
            } elseif ($this->form_validation->max_length($this->input->post('telefono'), 8) == FALSE) {
                $output_string .= '<p class="alert label large-12">Su telefono tiene que tener maximo 8 digitos numericos!</p>';
            }
            if ($this->input->post('email') == '') {
                $output_string .= '<p class="alert label large-12">Su email es requerido!</p>';
            } elseif ($this->form_validation->valid_email($this->input->post('email')) == FALSE) {
                $output_string .= '<p class="alert label large-12">Su email es invalido!</p>';
            }
            echo json_encode($output_string);
        }
    }

    function ajax_consultas_call() {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('nombre', 'Nombre', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        $this->form_validation->set_rules('consulta', 'Consulta', 'required');

        $this->form_validation->set_message('required', '%s ' . 'requerido');
        if ($this->form_validation->run() !== false) {
            $this->load->library('email');

            $this->email->from('support@datesandmodels.com', 'Support');
            $this->email->to('citas@datesandmodels.com');
            //$this->email->cc('another@another-example.com');
            //$this->email->bcc('them@their-example.com');

            $this->email->subject('Citas: Deseo tener una cita con ' . $this->input->post('modelo'));
            $this->email->message('Mi nombre es: ' . $this->input->post('nombre') . ', mi correo es: ' . $this->input->post('email') . ' y mi consulta sobre el vehiculo: ' . $this->input->post('url') . ' es la siguiente: ' . $this->input->post('consulta'));

            $this->email->send();

            //echo $this->email->print_debugger();
            $output_string = '<h6>Gracias!</h6>';
            $output_string .= '<p>Su consulta se ha enviada exitosamente!</p>';
            $output_string .= '<p>Pronto una de nuestras representantes lo estara contactando!</p>';
            $output_string .= '<p>Ya puede cerrar esta ventana!</p>';
            echo json_encode($output_string);
        } else {
            $output_string = '<h6>Han ocurrido los siguientes errores:</h6>';
            if ($this->input->post('nombre') == '') {
                $output_string .= '<p class="alert label large-12">Su nombre es requerido!</p>';
            }
            if ($this->input->post('email') == '') {
                $output_string .= '<p class="alert label large-12">Su email es requerido!</p>';
            } elseif ($this->form_validation->valid_email($this->input->post('email')) == FALSE) {
                $output_string .= '<p class="alert label large-12">Su email es invalido!</p>';
            }
            if ($this->input->post('consulta') == '') {
                $output_string .= '<p class="alert label large-12">Su consulta es requerida!</p>';
            }
            echo json_encode($output_string);
        }
    }

    function ajax_compare_call() {
        if ($_POST) {

            $this->load->model('vehiculos_model');

            $index = 0;
            foreach ($_POST as $key => $value) {
                $data[$index] = $this->vehiculos_model->getVehiculosById($value);
                $index++;
            }
            $output_string = '';
            foreach ($data as $modelo) {
                $output_string .='<div class="large-3 columns">';
                $output_string .='<ul class="pricing-table">';
                $output_string .='<li class="title pricing-title"><h5>' . $modelo[0]->marca . ' ' . $modelo[0]->modelo . ' ' . $modelo[0]->anno . '</h5></li>';
                //$output_string .='<li class="price"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto1 . '"></li>';
                //$output_string .='<li class="description">Año: ' . $modelo[0]->anno . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->precio . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->tipo . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->transmision . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->combustible . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->puertas . ' puertas</li>';
                $output_string .='<li class="description">' . $modelo[0]->cilindrada . '</li>';
                $output_string .='<li class="description">' . $modelo[0]->kilometraje . 'kms.</li>';
                //$output_string .='<li class="description">Color exterior: ' . $modelo[0]->color_exterior . '</li>';
                //$output_string .='<li class="description">Color interior: ' . $modelo[0]->color_interior . '</li>';
                //$output_string .='<li class="bullet-item">' . $modelo[0]->precio . '</li>';
                $output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto1 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto2 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto3 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto4 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto5 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto6 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto7 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto8 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto9 . '"></li>';
                //$output_string .='<li class="cta-button"><img src="' . base_url() . 'assets/uploads/files/' . $modelo[0]->foto10 . '"></li>';
                $url = ($modelo[0]->categoria == 'Motos y Cuadras') ? 'moto' : 'vehiculo';
                $output_string .='<li class="cta-button"><a href="' . base_url() . $url . '/' . $modelo[0]->id . '" class="small button success radius" href="#">Ver mas</a></li>';
                $output_string .='</ul>';
                $output_string .='</div>';
            }

            echo json_encode($output_string);
        }
    }

}